package ucla.axelia.controlador.servicios;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.obelisco.modelo.data.DataGenerica;

import ucla.axelia.controlador.interfaces.IServicioAdministracionReporteVoluntariosAsignadosActividadPlanificada;
import ucla.axelia.modelo.dao.ServicioVoluntarioAsignadoDAO;
import ucla.axelia.modelo.data.ActividadPlanificada;
import ucla.axelia.modelo.data.VoluntarioAsignado;

public class ServicioAdministracionReporteVoluntariosAsignadosActividadPlanificada implements
		IServicioAdministracionReporteVoluntariosAsignadosActividadPlanificada {

	private ServicioVoluntarioAsignadoDAO servicioVoluntarioAsignadoDAO;
	
	@Override
	public List<VoluntarioAsignado> buscarVoluntariosAsignados(ActividadPlanificada actividadPlanificada) {
		Session sesion = servicioVoluntarioAsignadoDAO.getSessionFactory().getCurrentSession();
		Query query = sesion.createQuery("from VoluntarioAsignado" +
				" where actividadPlanificada = :actividadPlanificada" +
				" and estado = :estado" +
				" order by voluntario.codigoVoluntario");
		query.setEntity("actividadPlanificada", actividadPlanificada);
		query.setString("estado", DataGenerica.DATA_ACTIVO);
		return query.list();
	}

	
	// Getters y Setters
	
	public ServicioVoluntarioAsignadoDAO getServicioVoluntarioAsignadoDAO() {
		return servicioVoluntarioAsignadoDAO;
	}

	public void setServicioVoluntarioAsignadoDAO(
			ServicioVoluntarioAsignadoDAO servicioVoluntarioAsignadoDAO) {
		this.servicioVoluntarioAsignadoDAO = servicioVoluntarioAsignadoDAO;
	}

}
